package com.observer.demo1.impl;

import com.observer.demo1.face.DisplayElement;
import com.observer.demo1.face.Observer;
import com.observer.demo1.face.Subject;

/**
 * 另一个观察者
 * 
 * @author dell
 * 
 */
public class OtherDisplay implements Observer, DisplayElement {

	private float result;
	// 为什 么要 保 存 对Subject的引用呢？构造完后似乎用不着了呀？
	// 的确如此，但是以后我们可能想要取消注册，如果已经有了对Subject的引用会比较方便。
	@SuppressWarnings("unused")
	private Subject weatherData;

	public OtherDisplay(Subject weatherData) {
		this.weatherData = weatherData;
		weatherData.registerObserver(this);
	}

	@Override
	public void display() {
		// TODO Auto-generated method stub
		System.out.println("Other display: " + result);
	}

	@Override
	public void update(float temperature, float humidity, float pressure) {
		// TODO Auto-generated method stub
		this.result = temperature * humidity;
		display();
	}

}
